package br.com.tcf.login;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.com.tcf.ManegedBeans.ControlaAcessoMB;

@WebFilter
public class FiltroLogado implements Filter{

	@Override
	public void destroy() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		System.out.println("Iniciando validação para verificar se usuário esta logado. FILTRO LOGADO");
		// TODO Auto-generated method stub
		ControlaAcessoMB controlaAcessoMB = (ControlaAcessoMB) ((HttpServletRequest) request).getSession().getAttribute("controlaAcessoMB");
		//System.out.println(controlaAcessoMB.getUsuario().getCpf());
		if(controlaAcessoMB == null || controlaAcessoMB.getUsuario().getCpf() == null || controlaAcessoMB.getUsuario().getCpf() == "" 
																					  || controlaAcessoMB.getLoggedin()==false){
			
			String contextPath = request.getServletContext().getContextPath();
			HttpServletResponse r = (HttpServletResponse) response;
			r.sendRedirect(contextPath+"/login.xhtml");		
			System.out.println("Visto que usuario não está logado. Direcionado a tela de login");
		}
		else{

			chain.doFilter(request, response);
		}
		
		
	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub
		
	}

}
